# 如果list中既包含字符串，又包含整数，由于非字符串类型没有lower()方法，所以列表生成式会报错：
# >>> L = ['Hello', 'World', 18, 'Apple', None]
# >>> [s.lower() for s in L]
# 使用内建的isinstance函数可以判断一个变量是不是字符串：
# 请修改列表生成式，通过添加if语句保证列表生成式能正确地执行：
# 运用列表生成式，可以快速生成list，可以通过一个list推导出另一个list，而代码却十分简洁。

L = ['Hello', 'World', 18, 'Apple', None]

l = [s.lower() for s in L if isinstance(s, str)]
print(l)
